﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ArmoryAPI
{
    /// <summary>
    /// Represents a World of Warcraft realm, including information such as whether the realm is online, has a queue etc.
    /// </summary>
    public class Realm
    {
        #region Members

            private String _type;
            private bool _queue;
            private bool _status;
            private String _population;
            private String _name;
            private String _battlegroup;
            private String _slug;

        #endregion

        #region Properties

        /// <summary>
            /// The realm type e.g. PvP, PvE
            /// </summary>
            public String Type
            {
                get
                {
                    return _type;
                }
            }

            /// <summary>
            /// Indiciates whether there is a queue to logon to the realm
            /// </summary>
            public bool HasQueue
            {
                get
                {
                    return _queue;
                }
            }

            /// <summary>
            /// Indicates whether the realm is currently online
            /// </summary>
            public bool IsOnline
            {
                get
                {
                    return _status;
                }
            }

            /// <summary>
            /// The level of population
            /// </summary>
            public String Population
            {
                get
                {
                    return _population;
                }
            }

            /// <summary>
            /// The name of the realm
            /// </summary>
            public String Name
            {
                get
                {
                    return _name;
                }
            }

            /// <summary>
            /// The battlegroup the realm is part of
            /// </summary>
            public String Battlegroup
            {
                get
                {
                    return _battlegroup;
                }
            }

            /// <summary>
            /// The realm "slug", referred to as "friendly name" by armoryapi
            /// </summary>
            public String Slug
            {
                get
                {
                    return _slug;
                }
            }

        #endregion

        #region Constructors

            /// <summary>
            /// Constructs an empty Realm
            /// </summary>
            public Realm()
                {
                    _type = String.Empty;
                    _queue = false;
                    _status = false;
                    _population = String.Empty;
                    _name = String.Empty;
                    _battlegroup = String.Empty;
                    _slug = String.Empty;
                }

            internal Realm(String type, bool queue, bool status, String population, String name, String battlegroup, String slug)
            {
                _type = type;
                _queue = queue;
                _status = status;
                _population = population;
                _name = name;
                _battlegroup = battlegroup;
                _slug = slug;
            }

        #endregion
    }
}
